#pragma once

#include <Windows.h>

#include <iostream>
#include <string>
#include <vector>
#include <numeric>
#include <map>
#include <stack>
#include <algorithm>
#include <random>
#include <fstream>

#include "rapidxml.hpp"

#include <glew.h>
#include <glut.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>

#include "stb_image.h"

#include "Shader.h"
#include "ProgramMgr.h"

#include "UpdatableObject.h"
#include "Image.h"
#include "Map.h"
#include "Hero.h"
#include "AbstractBullet.h"
#include "AbstractEnemy.h"
#include "Bullet.h"
#include "BulletMgr.h"
#include "AbstractAnimation.h"
#include "Animation.h"
#include "AnimationMgr.h"
#include "Enemy.h"
#include "EnemyMgr.h"
#include "StatusBar.h"
#include "AbstractProperty.h"
#include "Property.h"
#include "PropertyMgr.h"
#include "AbstractScene.h"
#include "AbstractDialog.h"
#include "Button.h"
#include "Dialog.h"
#include "Scene.h"